package com.coco.pojo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 请假申请实体类
 * 对应数据库表 leave_request
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class LeaveRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 请假申请ID
     */
    private Integer id;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 请假类型（如病假、事假、年假等）
     */
    private String leaveType;

    /**
     * 请假开始日期
     */
    private LocalDateTime startDate;

    /**
     * 请假结束日期
     */
    private LocalDateTime endDate;

    /**
     * 请假原因
     */
    private String reason;

    /**
     * 请假状态（如pending待审批、approved已批准、rejected已拒绝）
     */
    private String status;

    /**
     * 审批人ID
     */
    private Integer approverId;

    /**
     * 审批时间
     */
    private LocalDateTime approveTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}